HTMLify

Script.js
Views: 52 | Author: cody
const gen=document.getElementById("general");
const bus=document.getElementById("buisness");
const tech=document.getElementById("tech");
const spo=document.getElementById("sports");
const en=document.getElementById("entertain");
const sear=document.getElementById("sear");
const seart=document.getElementById("seart");
const nh=document.getElementById("newshead");

const ert=document.getElementById("ert");

const API_KEY="Your Api Key";
const HEADLINES_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=top";
const BUSINESS_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=business";
const SPORTS_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=sports";
const ENTERTAINMENT_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=entertainment";
const TECHNOLOGY_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=technology";
const SEARCH_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&q";
const GENERAL_NEWS="https://newsdata.io/api/1/news?apikey="+API_KEY+"&country=in&category=politics";


var newsData=[];

var k=1;
window.onload=headere;
function headere() {
	nh.innerHTML="<h1>HeadLines</h1>";
	
	fetchHeadlines();
};
sear.addEventListener("click",function(){
	
	fetchQueryNews();
});

bus.addEventListener("click",function(){
	nh.innerHTML="<h1>Business</h1>";
	fetchBusinessNews();

});
tech.addEventListener("click",function(){
	nh.innerHTML="<h1>Technology</h1>";
	fetchTechnologyNews();
});
gen.addEventListener("click",function(){
	nh.innerHTML="<h1>General</h1>";
	fetchGeneralNews();
});
spo.addEventListener("click",function(){
	nh.innerHTML="<h1>Sport</h1>";
	fetchSportsNews();
});
en.addEventListener("click",function(){
	nh.innerHTML="<h1>Entertainment</h1>";
	fetchEntertainNews();
});

const fetchGeneralNews = async () => {
	const response = await fetch(HEADLINES_NEWS);

	
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	
	displayNews();
}
const fetchHeadlines = async () => {
	const response = await fetch(GENERAL_NEWS);

	
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	
	displayNews();
}
const fetchBusinessNews = async () => {
	const response = await fetch(BUSINESS_NEWS);

	
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	
	displayNews();
}
const fetchTechnologyNews = async () => {
	const response = await fetch(TECHNOLOGY_NEWS);

	
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	
	displayNews();
}
const fetchSportsNews = async () => {
	const response = await fetch(SPORTS_NEWS);

	
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	
	displayNews();
}
const fetchEntertainNews = async () => {
	const response = await fetch(ENTERTAINMENT_NEWS);
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	displayNews();
}
const fetchQueryNews = async () => {
		const response=await fetch(SEARCH_NEWS+seart.value);
		const jso=await response.json();
		console.log(jso);
		newsData=jso.results;
	displayNews();
}

function displayNews() {
	ert.innerHTML="";
	var et=document.createElement('div');
	et.className="columns";

	if(newsData.length == 0){
		nb.innerHTML="<h5>No data found</h5>"
		return;
	}
  var rt=et;
	Array.prototype.forEach.call(newsData,news =>{
		if(k>3){
			rt=document.createElement('div');
			rt.className="columns";
			ert.appendChild(rt);
			k=1;
		}
		var date=news.pubDate.split(" ");

		var col=document.createElement('div');
		col.ClassName="is-4 p-2 card column";

		var card = document.createElement('div');
		card.className="p-2";

		var image = document.createElement('img');
		image.setAttribute("height","matchparent");
		image.setAttribute("width","100%");
		image.src=news.image_url;

		var cardBo=document.createElement('div');

		var newshead=document.createElement('h5');
		newshead.className="card-header-title"
		newshead.innerHTML=news.title;
		console.log(news.title);
		var datahe=document.createElement('h6');
		datahe.className="has-text-primary";
		datahe.innerHTML=date[0];

		var des=document.createElement('p');
		des.className="has-text-dark";
		des.innerHTML=news.description;
		console.log(news.description);
		var link=document.createElement('a');
		link.className="button is-dark"
		link.setAttribute("target","_blank");
		link.href=news.link;
		link.innerHTML="Read more";
		cardBo.appendChild(newshead);
		cardBo.appendChild(datahe);
		cardBo.appendChild(des);
		cardBo.appendChild(link);
		card.appendChild(image);
		card.appendChild(cardBo);
		col.appendChild(card);
		rt.appendChild(col);
		k++;
	});
}

Comments